This invention relates to a disk array system using RAID, and more particularly to a disk array system with a WORM function.
As a data format used when recording data in a storage system, a WORM (Write Once Read Many) format is known in which a writing operation can be performed only once while a reading operation can be performed repeatedly. For example, data stored in CD-R is in a WORM format.
As a type of applying this WORM to a rewritable medium such as a hard disk device, there is a type in which with regard to all sectors on a disk, respective predetermined flag information are recorded in sector ID sections. The flag information includes the information of data write attributes to the sectors. Three kinds of a write permission, a write inhibition, and a write-once permission can be set. Accordingly, a disk device is known in which, when the data write attribute of the sector including the data that is not desired to be erased is set to the write inhibition, an accidental user data destruction due to an operational mistake of a user who operates a host and an intentional user data destruction due to by a computer virus originally made for the sake of a user data destruction can be preliminarily protected, thereby improving the reliability of the disk device with regard to a user data protection (for example, refer to JP 7-13705 A).
On the other hand, in a disk array system, redundant data is prepared and stored in a disk device so as to allow data to be restored even when a fault occurs in the disk device. Moreover, a method of appending a guarantee code for each logical data block is known in order to enhance the reliability of the entire disk array. Examples of the method of appending the guarantee code include, as noted in JP 2001-202295A and JP 2000-347815A, a method in which, when data is written to a disk device, the guarantee code composed of a logical address value LA (Logical Address) and an exclusive-OR LRC (Longitudinal Redundancy Check) is appended to the data on a logical data block basis and the resultant data is written to the disk device, and when the data is read from the disk device, the LA value and LRC value which are appended to each logical data block are checked, thereby checking whether or not an address change or a data change has occurred within the disk device.